﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PubSubWeb.Model
{
    public interface ISubscriptionStore
    {
        Subscription AddSubscription(
                            string callback,
                            string topic,
                            SubscriptionVerificationType verificationType,
                            int leaseSeconds,
                            string secret,
                            string verifyToken);

        void RemoveSubscription(
                        string callback,
                        string topic,
                        SubscriptionVerificationType verificationType,
                        string secret,
                        string verifyToken);

        List<Subscription> GetSubscribersForTopic(string topicUrl);

        List<Topic> GetTopicsForSubscription(string callbackUrl);
    }
}
